
## Embark Studios의 자동화된 하드 서페이스 에셋 제작 워크플로우
Embark Studios의 3D 아티스트인 Erich Hallberg는 게임 제작에서 하드 서페이스 에셋 제작 방식을 혁신하는 자동화된 워크플로우를 소개합니다. 이 워크플로우는 **예술가들이 단순한 입력만으로도 고품질 에셋을 신속하게 제작**할 수 있도록 지원합니다.
### 1. 기존 워크플로우의 한계
과거의 하드 서페이스 에셋 제작 방식은 다음과 같은 문제점을 가지고 있었습니다.
* **서브디비전 모델링:**
* 복잡한 형태 제작의 어려움
* 숙달에 많은 시간 소요
* 토폴로지에 대한 깊은 이해 필요
* 수정 시 토폴로지 재작업 필요
* **ZBrush (DynaMesh, Polish):**
* 토폴로지 신경 쓸 필요 없음 (장점)
* 간단한 단계로 구성 (장점)
* 여전히 시간 소요 (단점)
* ZBrush에 대한 지식 필요 (단점)
* 파괴적인 프로세스 (단점)
* **CAD 소프트웨어 (Fusion 360 등):**
* 정확하고 깔끔한 결과물 (장점)
* 별도의 소프트웨어 학습 필요 (단점)
* High-poly와 Low-poly 모델 분리 필요 (단점)
* UV 및 베이킹을 위한 별도 설정 필요 (단점)
이러한 기존 방식들은 **숙달의 어려움, 느린 반복 속도, 변경 시 모든 단계 재작업** 등의 공통적인 문제를 안고 있습니다.
### 2. Embark Studios의 자동화 워크플로우
Embark Studios는 Houdini의 절차적 의존성 그래프를 활용하여 다음과 같은 목표를 달성하는 워크플로우를 개발했습니다.
* **표준화된 입력 및 결과:** 아티스트의 작업 단순화 및 에셋 외형 통일.
* **수작업 최소화:** 내보내기/가져오기 등 모든 수동 단계 제거.
* **Blender 중심:** 아티스트가 익숙한 환경에서 작업 가능.
* **자동화된 결정:** 텍셀 밀도, 패딩, 베이킹 설정 등은 도구에서 관리.
* **빠른 반복 속도:** 에셋 변경 시 시간 소모 최소화.
* **품질 향상:** 아티스트의 숙련도에 상관없이 높은 품질 보장.
* **일관된 툴셋:** 모든 하드 서페이스 에셋에 동일한 워크플로우 적용.
#### **A. 아티스트 관점에서의 워크플로우 (예: 패스트푸드 테이블)**
1. **Low-poly 모델링:** 최종 게임 버전에 맞춰 간단한 Low-poly 형태 모델링.
2. **추가 입력 지오메트리 모델링:**
* **Boolean 객체:** 구멍을 위한 작은 원통, 나무 부분을 위한 교차 볼륨 등.
* **슬라이싱 평면:** 나무 판자 분리를 위한 평면.
* **용접 위치 지정 박스:** 금속 프레임 용접 영역 지정.
* **볼트 위치 지정 원통:** 금속 프레임 측면 볼트 추가 위치 지정.
3. **프로세스 실행:** '프로세스' 버튼 클릭.
4. **결과 확인:** Blender 뷰포트에서 완성된 베이크 에셋 확인 (약 15분 소요).
#### **B. 내부 프로세스 (Houdini)**
아티스트는 단순한 지오메트리 입력과 '프로세스' 버튼 클릭만으로 작업하며, 복잡한 내부 과정은 자동화됩니다.
* **주요 입력:**
* **Low-poly 지오메트리:** 게임에 최종적으로 포함될 유일한 지오메트리.
* **Boolean 객체:** High-poly 외형 변경.
* Subtraction (빼기)
* Intersection (교차)
* **기타 입력 지오메트리:**
* **원통:** 볼트 생성.
* **박스:** 용접 생성.
* **평면:** 주조 이음매 생성.
* **커스텀 High-poly 지오메트리:** 자동화가 어려운 경우.
* **자동 UV:**
* **목표:** 타이트하게 패킹되고, Mipmap을 위한 충분한 패딩, 균일한 텍셀 밀도, 잘 정렬된 쉘.
* **프로세스:**
* 날카로운 모서리 분할 (정상 맵 베이킹용).
* 왜곡된 UV 쉘 식별 및 정렬.
* 복잡한 형태 (원통, 파이프)를 위한 심 찾기.
* 정렬되지 않은 쉘의 경계점 찾기 및 최단 경로로 분할.
* '닫힌 스트립' 분할 및 직선화.
* 쉘 토폴로지에 따른 직선화 (그리드 또는 스켈레톤 방식).
* UV 축에 맞춰 쉘 회전.
* Houdini UV 레이아웃 노드를 통한 효율적인 패킹.
* **추가 기능:** 동적 텍스처 크기, 패딩, 최적 텍스처 비율, 재질/쉘/크기에 따른 UV 쉘 오버랩.
* **자동 High-poly:**
* **목표:** 둥근 형태, 부드러운 표면 및 모서리.
* **프로세스:**
* 입력 지오메트리 서브디비전 (부드러운 표면 처리).
* 하드 엣지 크리스 처리.
* Boolean 연산 적용.
* 용접 및 주조 이음매 생성.
* **복셀화:** 볼륨으로 변환 후 스무딩 적용.
* 메쉬 축소 (베이킹 속도 향상).
* **자동 베이킹:**
* Low-poly와 High-poly 자동 매칭.
* 정상 맵 스큐잉 방지를 위한 스큐 메쉬 자동 생성.
* 완성된 텍스처를 Blender 뷰포트로 직접 제공.
### 3. 핵심 결과 및 향후 발전 방향
* **자동화의 이점:** 예술적인 측면에 집중 가능.
* **단순성:** 기술적인 복잡성을 사용자로부터 숨김.
* **유연성 (Hitchability):** 에셋 수정 시 재작업 없이 '프로세스'만 다시 실행하여 탐색적 작업 용이.
* **향후 과제:**
* 프로세스의 블랙박스 성격으로 인한 결과 예측 어려움 해소 (문서화, 에러 메시지, 예제 에셋).
* Blender 내 프리뷰 기능 강화.
* 복셀화의 성능 문제 해결 (라운드 셰이더와의 혼합 가능성).
* 간단한 입력으로 자동화된 결과물을 도출하는 텍스처 설정 개발.
* Unreal Engine으로의 자동 임포트 및 설정.
Embark Studios는 이 워크플로우를 지속적으로 발전시켜 나갈 예정이며, 아이디어가 고갈될 때까지 계속 개발할 것이라고 강조합니다.